package com.steel.yfmall.cloud.assistant.goods;

import com.steel.yfmall.cloud.assistant.dto.para.goods.ParaProductPriceFormBean;
import com.steel.yfmall.cloud.assistant.dto.para.goods.ParaProductPriceFormFactorDatailsBean;
import com.steel.yfmall.cloud.assistant.dto.result.goods.ResultProductPriceFormFactorDatailsBean;
import com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormBean;
import com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormFactorDatailsBean;

import java.util.List;
import java.util.Map;

public interface ProductPriceFormFactorService {

    /**
     * 查询价格因子信息
     * @Title: getSteelProductPriceFormFactorDatailsBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormFactorDatailsBean    返回类型
     * @author yuchaohua
     * @date 2020/12/7 21:57
     */
    SteelProductPriceFormFactorDatailsBean getSteelProductPriceFormFactorDatailsBeanByPara(ParaProductPriceFormFactorDatailsBean paraBean);

    /**
     * 获取价格因子集合
     * @Title: getSteelProductPriceFormFactorDetailsBeanListByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return java.util.List<com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormFactorDatailsBean>    返回类型
     * @author yuchaohua
     * @date 2020/12/8 17:16
     */
    List<ResultProductPriceFormFactorDatailsBean> getSteelProductPriceFormFactorDetailsBeanListByPara(ParaProductPriceFormFactorDatailsBean paraBean);

    /**
     * 获取价格组的价格因子集合 key价格组ID
     * @Title: getSteelProductPriceFormFactorDetailsBeanMap
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return java.util.Map<java.lang.Integer,java.util.List<com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormFactorDatailsBean>>    返回类型
     * @author yuchaohua
     * @date 2020/12/8 17:16
     */
    Map<Integer, List<ResultProductPriceFormFactorDatailsBean>> getSteelProductPriceFormFactorDetailsBeanMap(ParaProductPriceFormFactorDatailsBean paraBean);

    /**
     * 新增价格因子信息
     * @Title: batchInsertSteelProductPriceFormFactorDatailsBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param recordList 参数说明
     * @return boolean    返回类型
     * @author yuchaohua
     * @date 2020/12/7 21:57
     */
    boolean batchInsertSteelProductPriceFormFactorDatailsBeanByPara(List<SteelProductPriceFormFactorDatailsBean> recordList);

    /**
     * 删除价格因子信息
     * @Title: removeSteelProductPriceFormFactorDatailsBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return boolean    返回类型
     * @author yuchaohua
     * @date 2020/12/7 22:01
     */
    boolean removeSteelProductPriceFormFactorDatailsBeanByPara(ParaProductPriceFormFactorDatailsBean paraBean);

    /**
     * 获取价格组成
     * @Title: getSteelProductPriceFormBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return java.util.List<com.steel.yfmall.cloud.assistant.po.goods.SteelProductPriceFormBean>    返回类型
     * @author yuchaohua
     * @date 2020/12/7 22:18
     */
    List<SteelProductPriceFormBean> getSteelProductPriceFormBeanByPara(ParaProductPriceFormBean paraBean);

    /**
     * 新增价格组成信息
     * @Title: insertSteelProductPriceFormBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param recordBean 参数说明
     * @return int    返回类型
     * @author yuchaohua
     * @date 2020/12/7 22:18
     */
    int insertSteelProductPriceFormBeanByPara(SteelProductPriceFormBean recordBean);

    /**
     * 删除价格组成信息
     * @Title: removeSteelProductPriceFormBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return boolean    返回类型
     * @author yuchaohua
     * @date 2020/12/7 22:22
     */
    boolean removeSteelProductPriceFormBeanByPara(ParaProductPriceFormBean paraBean);
}
